home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
os2
/
pvm34b3.zip
/
pvm34b3
/
pvm3
/
lib
/
pvmgetarch
< prev
next >
Wrap
Text File
|
1997-07-22
|
5KB
|
226 lines
#!/bin/sh
#
# $Id: pvmgetarch,v 1.8 1997/07/21 20:53:42 pvmsrc Exp $
#
# pvmgetarch.sh
#
# Generate PVM architecture string.
#
# This is a heuristic thing that may need to be tuned from time
# to time. I don't know of a real solution to determining the
# machine type.
#
# Notes:
# 1. Local people mess with things.
# 2. It's good to try a few things for robustness.
# 3. Don't use test -x
#
# 08 Apr 1993 Robert Manchek manchek@CS.UTK.EDU.
# 24 Aug 1994 last revision
# 28 Jul 1995 release 3.3.8
#
#
# begin section that may need to be tuned.
#
ARCH=UNKNOWN
#
# determine the machine type from scratch
#
if [ -f /bin/uname -o -f /usr/bin/uname ]; then
if [ -f /bin/uname ]; then
os="`/bin/uname -s`"
ht="`/bin/uname -m`"
ov="`/bin/uname -v`"
else
os="`/usr/bin/uname -s`"
ht="`/usr/bin/uname -m`"
ov="`/usr/bin/uname -v`"
fi
case "$os,$ht" in
SunOS,sun3* ) ARCH=SUN3 ;;
SunOS,sun4* ) ARCH=SUN4 ;;
SunOS,i86pc ) ARCH=X86SOL2 ;;
ULTRIX,RISC ) ARCH=PMAX ;;
ULTRIX,VAX ) ARCH=UVAX ;;
AIX*,* ) ARCH=RS6K ;;
*HP*,9000/[2345]* ) ARCH=HP300 ;;
*HP*,9000/[78]* ) ARCH=HPPA ;;
IRIX,* ) ARCH=SGI ;;
IRIX64,* ) ARCH=SGI64 ;;
*,alpha ) ARCH=ALPHA ;;
CRSOS,smp ) ARCH=CRAYSMP ;;
*,paragon ) ARCH=PGON ;;
dgux,AViiON ) ARCH=DGAV ;;
*,88k ) ARCH=E88K ;;
*,mips ) ARCH=MIPS ;;
*,CRAY-2 ) ARCH=CRAY2 ;;
Linux,i[3456]86 ) ARCH=LINUX ;;
Linux,sparc) ARCH=LINUXSPARC ;;
BSD/OS,i[3456]86 ) ARCH=BSD386 ;;
FreeBSD,i386 ) ARCH=FREEBSD ;;
SUPER-UX,SX-3 ) ARCH=SX3 ;;
uts,* ) ARCH=UTS2 ;;
realix,M88* ) ARCH=M88K ;;
DomainOS,DN* ) ARCH=APOLLO ;;
esac
fi
if [ "$ARCH" = UNKNOWN ]; then
if [ -f /bin/arch ]; then
case "`/bin/arch`" in
ksr1 ) ARCH=KSR1 ;;
sun2 ) ARCH=SUN2 ;;
sun3 ) ARCH=SUN3 ;;
sun4 ) ARCH=SUN4 ;;
esac
fi
fi
if [ "$ARCH" = UNKNOWN ]; then
if [ -f /usr/etc/RELDEF ]; then ARCH=ATT; fi
if [ -f /ultrixboot ]; then
if [ -f /pcs750.bin ]; then
ARCH=UVAX
else
ARCH=PMAX
fi
else
if [ -f /pcs750.bin ]; then ARCH=VAX; fi
fi
if [ -d /usr/alliant ]; then ARCH=AFX8; fi
if [ -f /usr/bin/cluster ]; then ARCH=BFLY; fi
if [ -d /usr/convex ]; then ARCH=CNVX; fi
if [ -f /unicos ]; then ARCH=CRAY; fi
if [ -f /hp-ux ]; then ARCH=HP300; fi
if [ -f /usr/bin/getcube ]; then ARCH=I860; fi
if [ -f /usr/bin/asm56000 ]; then ARCH=NEXT; fi
if [ -f /etc/vg ]; then ARCH=RS6K; fi
if [ -d /usr/include/caif ]; then ARCH=RT; fi
if [ -f /bin/4d ]; then ARCH=SGI; fi
if [ -f /dynix ]; then ARCH=SYMM; fi
if [ -f /bin/titan ]; then ARCH=TITN; fi
if [ -f /netbsd ]; then
case "`/usr/bin/machine`" in
i386) ARCH=NETBSDI386 ;;
amiga) ARCH=NETBSDAMIGA ;;
hp300) ARCH=NETBSDHP300 ;;
mac68k) ARCH=NETBSDMAC68K ;;
pmax) ARCH=NETBSDPMAX ;;
sparc) ARCH=NETBSDSPARC ;;
sun3) ARCH=NETBSDSUN3 ;;
esac
elif [ -f /usr/bin/machine ]; then
case "`/usr/bin/machine`" in
i386 ) ARCH=BSD386 ;;
esac
fi
if [ -f /usr/bin/uxpm ] && /usr/bin/uxpm ; then
ARCH=UXPM
fi
fi
if [ "$ARCH" = UNKNOWN ]; then
if [ -f /bin/uname -o -f /usr/bin/uname ]; then
if [ -f /bin/uname ]; then
os="`/bin/uname -s`"
ht="`/bin/uname -m`"
rv="`/bin/uname -r`"
else
os="`/usr/bin/uname -s`"
ht="`/usr/bin/uname -m`"
rv="`/usr/bin/uname -r`"
fi
case "$os,$ht" in
*,i[3456]86 ) case "$rv" in
4.*) ARCH=UWARE ;;
*) ARCH=SCO ;;
esac
esac
fi
fi
#
# update the machine type to derive subclasses
#
if [ "$ARCH" = SUN4 ]; then
rel="`/bin/uname -r`"
case "$rel" in
5.* ) ARCH=SUN4SOL2 ;;
esac
fi
if [ "$ARCH" = SUN4SOL2 ]; then
nproc="`/bin/mpstat | wc -l`"
if [ $nproc -gt 2 -a "$PVM_SHMEM" = ON ];
then ARCH=SUNMP;
fi
fi
if [ "$ARCH" = ALPHA ]; then
rel="`/usr/bin/uname -r`"
case "$rel" in
*[34].*)
nproc="`/usr/sbin/sizer -p`"
if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
then ARCH=ALPHAMP;
fi ;;
esac
fi
if [ "$ARCH" = SGI ]; then
rel="`/bin/uname -r`"
case "$rel" in
5.* ) ARCH=SGI5 ;;
6.* ) ARCH=SGI5 ;;
esac
fi
if [ "$ARCH" = SGI64 ]; then
nproc="`/usr/sbin/mpadmin -n | wc -w`"
if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
then ARCH=SGIMP64;
fi
fi
if [ "$ARCH" = SGI5 ]; then
nproc="`/usr/sbin/mpadmin -n | wc -w`"
if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ];
then ARCH=SGIMP;
fi
fi
if [ "$ARCH" = SUN4 -a -f /dev/cm ]; then ARCH=CM2; fi
if [ "$ARCH" = SUN4 -a -f /dev/cmni ]; then ARCH=CM5; fi
if [ "$ARCH" = CNVX ]; then
if /usr/convex/getsysinfo -f native_default; then
ARCH=CNVXN
fi
fi
if [ "$ARCH" = PMAX -a -d /usr/maspar ]; then ARCH=MASPAR; fi
if [ "$ARCH" = RS6K ]; then
case "$os,$ov" in
AIX*,4 ) nproc="`/usr/sbin/lsdev -C -c processor | wc -l`"
if [ $nproc -gt 1 -a "$PVM_SHMEM" = ON ]; then
ARCH=AIX4MP;
else
ARCH=AIX46K;
fi ;;
esac
fi
if [ "$ARCH" = HPPA -a -f /bin/sysinfo ]; then ARCH=CSPP; fi
if [ "$ARCH" = HPPA ]; then
nproc="`/usr/bin/vmstat -n | wc -l`"
if [ $nproc -gt 8 -a "$PVM_SHMEM" = ON ];
then ARCH=HPPAMP;
fi
fi
#
# ugh, done.
#
echo $ARCH
exit